<?php session_start();
    include_once ("../bussines/AlmacenBR.php");
    include_once ("../entity/Almacen.php");
    
    if(file_exists("../entity/Constantes.php")){
        include_once ("../entity/Constantes.php");
    }
    
    if(isset($_POST["opc"])){
        
        $codigo = $_POST["codigo"];
        $nombre = $_POST["nombre"];
        $direccion = $_POST["direccion"];
        $telefono = $_POST["telefono"];
        $responsable = $_POST["responsable"];
        
        $usuario_crea = $_SESSION[Constantes::K_SESSION_CODIGO_USUARIO];
        $usuario_modi = $_SESSION[Constantes::K_SESSION_CODIGO_USUARIO];
        
        if($_POST["opc"]=="cod"){
            echo generarCodigo();
        }elseif($_POST["opc"]=="ins"){
            echo insertar($nombre,$direccion,$telefono,$responsable,$usuario_crea);
        }elseif ($_POST["opc"]=="get") {
            echo obtenerID($codigo);
        }elseif ($_POST["opc"]=="edi"){
            echo editar($codigo,$nombre,$direccion,$telefono,$responsable,$usuario_modi);
        }elseif($_POST["opc"]=="del"){
            echo eliminar($codigo);
        }elseif($_POST["opc"]=="lstAlmacen"){
            echo listarAlmacen($codigo);
        }elseif($_POST["opc"]=="vdel"){
            echo validarEliminar($codigo);
        }
    }
    
    if($_POST["opc"]=="bus"){
        
        $page = $_POST['page'];
        $limit = $_POST['rows'];
        $sidx = $_POST['sidx'];
        $sord = $_POST['sord'];
            
        $nombre = $_POST["nombre"];
        $direccion = $_POST["direccion"];
        
        if (!$sidx){
            $sidx = 1;
        }
           
        echo mostrarAlmacenGrilla($nombre,$direccion, $page, $limit, $sidx, $sord);
    }
    
    function validarEliminar($codigo){
        $vdel = new AlmacenBR();
        $result = $vdel->validarEliminar($codigo);
        
        if($result > 0){
            $msj = ConstantesMensajes::K_MENSAJE_VALIDAR_ALAMCEN_PRODUCTOALMACEN_EXISTE;
        }else{
            $msj = '0';
        }
        return $msj;
    }
    function eliminar($codigo){
        $del = new AlmacenBR();
        $entity = new Almacen();
        $entity->codigo = $codigo;
        
        $result = $del->eliminar($entity);
        
        if($result == 1){
            $msj = ConstantesMensajes::K_MENSAJE_DELETE_OK;
        }else{
            $msj = ConstantesMensajes::K_MENSAJE_DELETE_NOOK;
        }
        return $msj;
    }
    
    function editar($codigo,$nombre,$direccion,$telefono,$responsable,$usuario_modi){
        $edi = new AlmacenBR();
        $entity = new Almacen();
        $entity->codigo = $codigo;
        $entity->nombre = $nombre;
        $entity->direccion = $direccion;
        $entity->telefono = $telefono;
        $entity->responsable = $responsable;
        $entity->usuario_modi = $usuario_modi;
        
        $result = $edi->editar($entity);
        
        if($result == 1){
            $msj = ConstantesMensajes::K_MENSAJE_UPDATE_OK;
        }else{
            $msj = ConstantesMensajes::K_MENSAJE_UPDATE_NOOK;
        }
        return $msj;
    }
    
    function listarAlmacen($codigo){
        $lst = new AlmacenBR();
        
        $result = $lst->listarAlmacen($codigo);
        return json_encode($result);
    }
    
    function obtenerID($codigo){
        $get = new AlmacenBR();
        $entity = new Almacen();
        $entity->codigo = $codigo;
        
        $result = $get->obtenerID($entity);
        
        return json_encode($result);
    }
    
    function insertar($nombre,$direccion,$telefono,$responsable,$usuario_crea){
        $ins = new AlmacenBR();
        $entity = new Almacen();
        $entity->nombre = $nombre;
        $entity->direccion = $direccion;
        $entity->telefono = $telefono;
        $entity->responsable = $responsable;
        $entity->usuario_crea = $usuario_crea;
        
        $result = $ins->insertar($entity);
        
        if($result == 1){
            $msj = ConstantesMensajes::K_MENSAJE_INSERT_OK;
        }else{
            $msj = ConstantesMensajes::K_MENSAJE_INSERT_NOOK;
        }
        return $msj;
    }
    
    function generarCodigo(){
        $cod = new AlmacenBR();
        $result = $cod->generarCodigo();
        return json_encode($result);
    }
    
    function mostrarAlmacenGrilla($nombre,$direccion, $page, $limit, $sidx, $sord){
        $bus = new AlmacenBR();
        $entity = new Almacen();
        $entity->nombre = $nombre;
        $entity->direccion = $direccion;
        
        $count = $bus->numeroRegistro($nombre,$direccion);
        
        if ($count > 0) {
            $total_pages = ceil($count / $limit);
        } else {
            $total_pages = 0;
        }
        if ($page > $total_pages){
            $page = $total_pages;
        }
        $start = $limit * $page - $limit;
        $responce->page = $page;
        $responce->total = $total_pages;
        $responce->records = $count;
        $i = 0;
        
        $almacenes = $bus->BuscarSearch($entity, $start, $limit, $sidx, $sord);
        
        if(sizeof($almacenes)){
            foreach ($almacenes as $fila){
                $responce->rows[$i]['id'] = $fila->codigo;
                $responce->rows[$i]['cell'] = array($fila->codigo,$fila->nombre, $fila->direccion,$fila->telefono,$fila->responsable);
                $i++;
            }
        }
        return json_encode($responce);
    }
